<!--
  ~ Copyright 2025 the original author or authors.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<div class="layout">
    <header class="site-layout__header site-header" itemscope="itemscope" itemtype="https://schema.org/WPHeader">
        <nav class="site-header__navigation" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement">
            <div class="site-header__navigation-header">
                <a target="_top" class="logo" href="https://docs.gradle.org" title="Gradle Docs">
                    <svg width="139px" height="43px" viewBox="0 0 278 86" version="1.1" xmlns="http://www.w3.org/2000/svg">
                        <title>Gradle</title>
                        <path class="cls-1" d="M155,56.32V70.27a18.32,18.32,0,0,1-5.59,2.83,21.82,21.82,0,0,1-6.36.89,21.08,21.08,0,0,1-7.64-1.31A17.12,17.12,0,0,1,129.59,69a16.14,16.14,0,0,1-3.73-5.58,18.78,18.78,0,0,1-1.31-7.08,19.58,19.58,0,0,1,1.26-7.14A15.68,15.68,0,0,1,135,40a20.39,20.39,0,0,1,7.45-1.29,22,22,0,0,1,3.92.33,20.43,20.43,0,0,1,3.39.92,15.16,15.16,0,0,1,2.85,1.42A17.3,17.3,0,0,1,155,43.25l-1.84,2.91a1.72,1.72,0,0,1-1.12.84,2,2,0,0,1-1.5-.34L149,45.75a10.49,10.49,0,0,0-1.75-.79,14.33,14.33,0,0,0-2.17-.54,15.29,15.29,0,0,0-2.78-.22,11.91,11.91,0,0,0-4.61.86,9.66,9.66,0,0,0-3.52,2.46,10.9,10.9,0,0,0-2.24,3.84,14.88,14.88,0,0,0-.79,5,15.23,15.23,0,0,0,.85,5.28,11.06,11.06,0,0,0,2.38,3.94A10.15,10.15,0,0,0,138.05,68a14.28,14.28,0,0,0,8.25.44,17.1,17.1,0,0,0,2.94-1.09V61.14h-4.35a1.3,1.3,0,0,1-1-.35,1.15,1.15,0,0,1-.35-.85V56.32Zm10.47-2.93a10.53,10.53,0,0,1,2.72-3.45,5.77,5.77,0,0,1,3.72-1.25,4.5,4.5,0,0,1,2.72.74l-.38,4.41a1.18,1.18,0,0,1-.34.61,1,1,0,0,1-.61.18,6.76,6.76,0,0,1-1.06-.12,8.22,8.22,0,0,0-1.38-.12,5,5,0,0,0-1.74.28,4.37,4.37,0,0,0-1.37.83,5.55,5.55,0,0,0-1.07,1.3,12.26,12.26,0,0,0-.87,1.74V73.61H160V49.14h3.45a1.94,1.94,0,0,1,1.27.32,1.9,1.9,0,0,1,.48,1.16Zm11.36-.84A14.49,14.49,0,0,1,187,48.69a9.92,9.92,0,0,1,3.84.7,8.06,8.06,0,0,1,2.86,2,8.38,8.38,0,0,1,1.78,3,11.64,11.64,0,0,1,.61,3.82V73.61h-2.68a2.64,2.64,0,0,1-1.28-.25,1.72,1.72,0,0,1-.72-1l-.52-1.77a20.25,20.25,0,0,1-1.82,1.47,10.86,10.86,0,0,1-1.83,1.06,10.36,10.36,0,0,1-2,.66,12,12,0,0,1-2.4.22,9.64,9.64,0,0,1-2.86-.41,6.28,6.28,0,0,1-2.27-1.26,5.6,5.6,0,0,1-1.48-2.07,7.38,7.38,0,0,1-.52-2.89,5.7,5.7,0,0,1,.31-1.85,5.3,5.3,0,0,1,1-1.75,8.25,8.25,0,0,1,1.83-1.57,11.17,11.17,0,0,1,2.75-1.29,23.28,23.28,0,0,1,3.81-.9,36.77,36.77,0,0,1,5-.41V58.16a5.35,5.35,0,0,0-1.05-3.64,3.83,3.83,0,0,0-3-1.18,7.3,7.3,0,0,0-2.38.33,9.39,9.39,0,0,0-1.65.75l-1.3.75a2.52,2.52,0,0,1-1.3.34,1.7,1.7,0,0,1-1.05-.32,2.61,2.61,0,0,1-.69-.76Zm13.5,10.61a31.66,31.66,0,0,0-4.3.45,11,11,0,0,0-2.79.82,3.57,3.57,0,0,0-1.5,1.17,2.89,2.89,0,0,0,.47,3.67,3.93,3.93,0,0,0,2.39.67,7,7,0,0,0,3.14-.66,9.52,9.52,0,0,0,2.59-2Zm32.53-25V73.61h-3.6a1.39,1.39,0,0,1-1.48-1.07l-.5-2.36a12.4,12.4,0,0,1-3.4,2.74,9.17,9.17,0,0,1-4.47,1,7.95,7.95,0,0,1-6.55-3.26A11.61,11.61,0,0,1,201,66.79a19.71,19.71,0,0,1-.66-5.34,16.77,16.77,0,0,1,.74-5.06,12.21,12.21,0,0,1,2.13-4,9.88,9.88,0,0,1,3.31-2.69,9.64,9.64,0,0,1,4.34-1,8.63,8.63,0,0,1,3.51.64,9,9,0,0,1,2.6,1.74V38.17ZM217,55.39a5.94,5.94,0,0,0-2.18-1.72,6.54,6.54,0,0,0-2.54-.5,5.68,5.68,0,0,0-2.41.5A4.87,4.87,0,0,0,208,55.19a7.19,7.19,0,0,0-1.17,2.57,14.83,14.83,0,0,0-.4,3.69,16.34,16.34,0,0,0,.34,3.63,7.14,7.14,0,0,0,1,2.44,3.79,3.79,0,0,0,1.58,1.36,5,5,0,0,0,2.07.41,6,6,0,0,0,3.13-.76A9.19,9.19,0,0,0,217,66.36Zm17.67-17.22V73.61h-5.89V38.17ZM245.1,62.11a11.37,11.37,0,0,0,.67,3.26,6.54,6.54,0,0,0,1.38,2.27,5.39,5.39,0,0,0,2,1.33,7.26,7.26,0,0,0,2.61.44,8.21,8.21,0,0,0,2.47-.33,11.51,11.51,0,0,0,1.81-.74c.52-.27,1-.52,1.36-.74a2.31,2.31,0,0,1,1.13-.33,1.21,1.21,0,0,1,1.1.55L261.36,70a9.45,9.45,0,0,1-2.19,1.92,12.18,12.18,0,0,1-2.54,1.24,14,14,0,0,1-2.7.66,18.78,18.78,0,0,1-2.65.19,12.93,12.93,0,0,1-4.75-.85,10.65,10.65,0,0,1-3.82-2.5,11.8,11.8,0,0,1-2.55-4.1,15.9,15.9,0,0,1-.93-5.67,13.55,13.55,0,0,1,.81-4.71,11.34,11.34,0,0,1,2.33-3.84,11,11,0,0,1,3.69-2.59,12.31,12.31,0,0,1,4.93-1,11.86,11.86,0,0,1,4.27.74,9.25,9.25,0,0,1,3.36,2.16,9.84,9.84,0,0,1,2.21,3.48,13,13,0,0,1,.8,4.71,3.82,3.82,0,0,1-.29,1.8,1.19,1.19,0,0,1-1.1.46Zm11.23-3.55A7.28,7.28,0,0,0,256,56.4a5.16,5.16,0,0,0-1-1.77,4.44,4.44,0,0,0-1.63-1.21,5.68,5.68,0,0,0-2.3-.44,5.46,5.46,0,0,0-4,1.45,7.13,7.13,0,0,0-1.87,4.13ZM112.26,14a13.72,13.72,0,0,0-19.08-.32,1.27,1.27,0,0,0-.41.93,1.31,1.31,0,0,0,.38.95l1.73,1.73a1.31,1.31,0,0,0,1.71.12,7.78,7.78,0,0,1,4.71-1.57,7.87,7.87,0,0,1,5.57,13.43C96,40.2,81.41,9.66,48.4,25.37a4.48,4.48,0,0,0-2,6.29l5.66,9.79a4.49,4.49,0,0,0,6.07,1.67l.14-.08-.11.08,2.51-1.41a57.72,57.72,0,0,0,7.91-5.89,1.37,1.37,0,0,1,1.8-.06h0a1.29,1.29,0,0,1,0,2A59.79,59.79,0,0,1,62.11,44l-.09.05-2.51,1.4a7,7,0,0,1-3.47.91,7.19,7.19,0,0,1-6.23-3.57l-5.36-9.24C34.17,40.81,27.93,54.8,31.28,72.5a1.31,1.31,0,0,0,1.29,1.06h6.09A1.3,1.3,0,0,0,40,72.42a8.94,8.94,0,0,1,17.73,0A1.3,1.3,0,0,0,59,73.56h5.94a1.31,1.31,0,0,0,1.3-1.14,8.93,8.93,0,0,1,17.72,0,1.3,1.3,0,0,0,1.29,1.14h5.87a1.3,1.3,0,0,0,1.3-1.28c.14-8.28,2.37-17.79,8.74-22.55C123.15,33.25,117.36,19.12,112.26,14ZM89.79,38.92l-4.2-2.11h0a2.64,2.64,0,1,1,4.2,2.12Z"/>
                    </svg>
                </a>
                <div class="site-header__doc-type sr-only">User Manual</div>
                <div class="site-header-version"></div>
                <button type="button" aria-label="Navigation Menu" class="site-header__navigation-button hamburger">
                    <span class="hamburger__bar"></span>
                    <span class="hamburger__bar"></span>
                    <span class="hamburger__bar"></span>
                </button>
            </div>
            <div class="site-header__navigation-collapsible site-header__navigation-collapsible--collapse">
                <ul class="site-header__navigation-items">
                    <li id="theme-toggle" class="site-header__navigation-item">
                        <a class="site-header__navigation-link theme-toggle" title="Theme">
                            <svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
                                <title>Theme</title>
                                <path d="m12 22c5.5228475 0 10-4.4771525 10-10s-4.4771525-10-10-10-10 4.4771525-10 10 4.4771525 10 10 10zm0-1.5v-17c4.6944204 0 8.5 3.80557963 8.5 8.5 0 4.6944204-3.8055796 8.5-8.5 8.5z"/>
                            </svg>
                        </a>
                        <script type="text/javascript">
                            const lightThemeStyle = document.getElementById("light-theme-style");
                            const darkThemeStyle = document.getElementById("dark-theme-style");
                            const btn = document.querySelector(".theme-toggle");
                            const prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)");

                            function enableLightTheme() {
                              lightThemeStyle.disabled = false;
                              darkThemeStyle.disabled = true;
                              document.body.classList.remove("dark-theme");
                              document.body.classList.add("light-theme");
                              localStorage.setItem("theme", "light");
                            }

                            function enableDarkTheme() {
                              lightThemeStyle.disabled = true;
                              darkThemeStyle.disabled = false;
                              document.body.classList.remove("light-theme");
                              document.body.classList.add("dark-theme");
                              localStorage.setItem("theme", "dark");
                            }

                            // Check for stored theme preference on page load
                            const currentTheme = localStorage.getItem("theme");
                            if (currentTheme === "dark") {
                              enableDarkTheme();
                            } else if (currentTheme === "light") {
                              enableLightTheme();
                            } else if (prefersDarkScheme.matches) {
                              // If no stored theme, check system preference
                              enableDarkTheme();
                            } else {
                              enableLightTheme();
                            }

                            // Add click event listener to the toggle button
                            btn.addEventListener("click", () => {
                              if (darkThemeStyle.disabled) {
                                enableDarkTheme();
                              } else {
                                enableLightTheme();
                              }
                            });
                        </script>
                    </li>
                    <li class="site-header__navigation-item site-header__navigation-submenu-section" tabindex="0">
                        <span class="site-header__navigation-link">
                            Community
                        </span>
                        <div class="site-header__navigation-submenu">
                            <div class="site-header__navigation-submenu-item" itemprop="name">
                                <a target="_top" class="site-header__navigation-submenu-item-link" href="https://gradle.org/" itemprop="url">
                                    <span class="site-header__navigation-submenu-item-link-text">Community Home</span>
                                </a>
                            </div>
                            <div class="site-header__navigation-submenu-item" itemprop="name">
                                <a target="_top" class="site-header__navigation-submenu-item-link" href="https://discuss.gradle.org/" itemprop="url">
                                    <span class="site-header__navigation-submenu-item-link-text">Community Forums</span>
                                </a>
                            </div>
                            <div class="site-header__navigation-submenu-item" itemprop="name">
                                <a target="_top" class="site-header__navigation-submenu-item-link" href="https://plugins.gradle.org" itemprop="url">
                                    <span class="site-header__navigation-submenu-item-link-text">Community Plugins</span>
                                </a>
                            </div>
                        </div>
                    </li>
                    <li class="site-header__navigation-item" itemprop="name">
                        <a target="_top" class="site-header__navigation-link" href="https://dpeuniversity.gradle.com/" itemprop="url">DPE University</a>
                    </li>
                    <li class="site-header__navigation-item" itemprop="name">
                        <a target="_top" class="site-header__navigation-link" href="https://gradle.org/training/" itemprop="url">Events</a>
                    </li>
                    <li class="site-header__navigation-item site-header__navigation-submenu-section" tabindex="0">
                        <span class="site-header__navigation-link">
                            News
                        </span>
                        <div class="site-header__navigation-submenu">
                            <div class="site-header__navigation-submenu-item" itemprop="name">
                                <a class="site-header__navigation-submenu-item-link" href="https://newsletter.gradle.org" itemprop="url">
                                    <span class="site-header__navigation-submenu-item-link-text">Newsletter</span>
                                </a>
                            </div>
                            <div class="site-header__navigation-submenu-item" itemprop="name">
                                <a class="site-header__navigation-submenu-item-link" href="https://blog.gradle.org" itemprop="url">
                                    <span class="site-header__navigation-submenu-item-link-text">Blog</span>
                                </a>
                            </div>
                            <div class="site-header__navigation-submenu-item">
                                <a class="site-header__navigation-submenu-item-link" href="https://twitter.com/gradle">
                                    <span class="site-header__navigation-submenu-item-link-text">Twitter</span>
                                </a>
                            </div>
                        </div>
                    </li>
                    <li class="site-header__navigation-item" itemprop="name">
                        <a target="_top" class="site-header__navigation-link" href="https://gradle.com/develocity" itemprop="url">Develocity</a>
                    </li>
                    <li class="site-header__navigation-item">
                        <a class="site-header__navigation-link" title="Gradle on GitHub" href="https://github.com/gradle/gradle">
                            <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
                                <title>Github</title>
                                <path d="M10 0C4.477 0 0 4.477 0 10c0 4.418 2.865 8.166 6.839 9.489.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.342-3.369-1.342-.454-1.155-1.11-1.462-1.11-1.462-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.831.092-.646.35-1.086.636-1.336-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.268 2.75 1.026A9.578 9.578 0 0 1 10 4.836c.85.004 1.705.114 2.504.337 1.909-1.294 2.747-1.026 2.747-1.026.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.579.688.481C17.137 18.163 20 14.418 20 10c0-5.523-4.478-10-10-10" fill-rule="evenodd";/>
                            </svg>
                        </a>
                    </li>
                </ul>
            </div>
        </nav>
    </header>

    <main class="main-content">
        <!-- Primary Navigation -->
        <nav class="docs-navigation">
            <div class="search-container"></div>
            <h3 id="overview"><a href="../userguide/userguide.html">Gradle User Manual</a></h3>
            <ul>
                <li><a href="../userguide/getting_started.html">Getting Started</a></li>
            </ul>

            <h3 id="what-is-new">Releases</h3>
            <ul>
                <li><a href="https://gradle.org/releases/">All Releases</a></li>
                <li><a href="../release-notes.html">Release Notes</a></li>
                <li><a href="../userguide/installation.html">Installing Gradle</a></li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#upgrading-gradle" aria-expanded="false" aria-controls="upgrading-gradle">Upgrading Gradle</a>
                    <ul id="upgrading-gradle">
                        <li><a href="../userguide/upgrading_version_9.html">Within versions 9.x.y</a></li>
                        <li><a href="../userguide/upgrading_major_version_9.html">To version 9.0.0</a></li>
                        <li><a href="../userguide/upgrading_version_8.html">Within versions 8.x</a></li>
                        <li><a href="../userguide/upgrading_version_7.html">From version 7.x to 8.0</a></li>
                        <li><a href="../userguide/upgrading_version_6.html">From version 6.x to 7.0</a></li>
                        <li><a href="../userguide/upgrading_version_5.html">From version 5.x to 6.0</a></li>
                        <li><a href="../userguide/upgrading_version_4.html">From version 4.x to 5.0</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#migrating-to-gradle" aria-expanded="false" aria-controls="migrating-to-gradle">Migrating to Gradle</a>
                    <ul id="migrating-to-gradle">
                        <li><a href="../userguide/migrating_from_maven.html">from Maven</a></li>
                        <li><a href="../userguide/migrating_from_ant.html">from Ant</a></li>
                    </ul>
                </li>
                <li><a href="../userguide/compatibility.html">Compatibility Notes</a></li>
                <li><a href="../userguide/feature_lifecycle.html">Gradle's Feature Lifecycle</a></li>
            </ul>

            <h3 id="fundamentals">Gradle Fundamentals</h3>
            <ul>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#running-introduction" aria-expanded="false" aria-controls="introduction">Running Gradle Builds</a>
                    <ul id="running-introduction">
                        <li><a href="../userguide/gradle_basics.html">1. Core Concepts</a></li>
                        <li><a href="../userguide/gradle_wrapper_basics.html">2. Wrapper Basics</a></li>
                        <li><a href="../userguide/command_line_interface_basics.html">3. CLI Basics</a></li>
                        <li><a href="../userguide/settings_file_basics.html">4. Settings File Basics</a></li>
                        <li><a href="../userguide/build_file_basics.html">5. Build File Basics</a></li>
                        <li><a href="../userguide/dependency_management_basics.html">6. Dependencies Basics</a></li>
                        <li><a href="../userguide/task_basics.html">7. Tasks Basics</a></li>
                        <li><a href="../userguide/gradle_optimizations.html">8. Caching Basics</a></li>
                        <li><a href="../userguide/plugin_basics.html">9. Plugins Basics</a></li>
                        <li><a href="../userguide/build_scans.html">10. Build Scan Basics</a></li>

                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#beyond-the-basics" aria-expanded="false" aria-controls="beyond-the-basics">Authoring Gradle Builds</a>
                    <ul id="authoring-introduction">
                        <li><a href="../userguide/gradle_directories_intermediate.html">1. Anatomy of a Gradle Build</a></li>
                        <li><a href="../userguide/multi_project_builds_intermediate.html">2. Structuring Multi-Project Builds</a></li>
                        <li><a href="../userguide/build_lifecycle_intermediate.html">3. Gradle Build Lifecycle</a></li>
                        <li><a href="../userguide/writing_build_scripts_intermediate.html">4. Writing Build Scripts</a></li>
                        <li><a href="../userguide/gradle_managed_types_intermediate.html">5. Gradle Managed Types</a></li>
                        <li><a href="../userguide/dependencies_intermediate.html">6. Declaring Dependencies</a></li>
                        <li><a href="../userguide/writing_tasks_intermediate.html">7. Creating and Registering Tasks</a></li>
                        <li><a href="../userguide/plugins_intermediate.html">8. Working with Plugins</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#deep-dive" aria-expanded="false" aria-controls="deep-dive">Developing Gradle Plugins</a>
                    <ul id="developing-introduction">
                        <li><a href="../userguide/plugin_introduction_advanced.html">1. Plugin Introduction</a></li>
                        <li><a href="../userguide/pre_compiled_script_plugin_advanced.html">2. Pre-Compiled Script Plugins</a></li>
                        <li><a href="../userguide/binary_plugin_advanced.html">3. Binary Plugins</a></li>
                        <li><a href="../userguide/developing_binary_plugin_advanced.html">4. Developing Binary Plugins</a></li>
                        <li><a href="../userguide/testing_binary_plugin_advanced.html">5. Testing Binary Plugins</a></li>
                        <li><a href="../userguide/publishing_binary_plugin_advanced.html">6. Publishing Binary Plugins</a></li>
                    </ul>
                </li>
            </ul>

            <h3 id="tutorials">Gradle Tutorials</h3>
            <ul>
                <li><a class="nav-dropdown" data-toggle="collapse" aria-expanded="false">Beginner Tutorial</a>
                    <ul id="running-tutorial">
                        <li><a href="../userguide/part1_gradle_init.html">1. Initializing the Project</a></li>
                        <li><a href="../userguide/part2_gradle_tasks.html">2. Running Tasks</a></li>
                        <li><a href="../userguide/part3_gradle_dep_man.html">3. Understanding Dependencies</a></li>
                        <li><a href="../userguide/part4_gradle_plugins.html">4. Applying Plugins</a></li>
                        <li><a href="../userguide/part5_gradle_inc_builds.html">5. Exploring Incremental Builds</a></li>
                        <li><a href="../userguide/part6_gradle_caching.html">6. Enabling the Build Cache</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" aria-expanded="false">Intermediate Tutorial</a>
                    <ul id="authoring-tutorial">
                        <li><a href="../userguide/part1_gradle_init_project.html">1. Initializing the Project</a></li>
                        <li><a href="../userguide/part2_build_lifecycle.html">2. Understanding the Build Lifecycle</a></li>
                        <li><a href="../userguide/part3_multi_project_builds.html">3. Multi-Project Builds</a></li>
                        <li><a href="../userguide/part4_settings_file.html">4. Writing the Settings File</a></li>
                        <li><a href="../userguide/part5_build_scripts.html">5. Writing a Build Script</a></li>
                        <li><a href="../userguide/part6_writing_tasks.html">6. Writing Tasks</a></li>
                        <li><a href="../userguide/part7_writing_plugins.html">7. Writing Plugins</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" aria-expanded="false">Advanced Tutorial</a>
                    <ul id="developing-tutorial">
                        <li><a href="../userguide/part1_gradle_init_plugin.html">1. Initializing the Project</a></li>
                        <li><a href="../userguide/part2_add_extension.html">2. Adding an Extension</a></li>
                        <li><a href="../userguide/part3_create_custom_task.html">3. Creating a Custom Task</a></li>
                        <li><a href="../userguide/part4_unit_test.html">4. Writing a Unit Test</a></li>
                        <li><a href="../userguide/part5_add_dataflow_action.html">5. Adding a DataFlow Action</a></li>
                        <li><a href="../userguide/part6_functional_test.html">6. Writing a Functional Test</a></li>
                        <li><a href="../userguide/part7_use_consumer_project.html">7. Using a Consumer Project</a></li>
                        <li><a href="../userguide/part8_publish_locally.html">8. Publish the Plugin</a></li>
                    </ul>
                </li>
            </ul>

            <h3 id="gradle-reference">Gradle Reference</h3>
            <ul>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#gradle-core" aria-expanded="false" aria-controls="gradle-core">Runtime and Configuration</a>
                    <ul id="core-topics">
                        <li><a href="../userguide/command_line_interface.html">Command-Line Interface</a></li>
                        <li><a href="../userguide/logging.html">Logging and Output</a></li>
                        <li><a href="../userguide/gradle_wrapper.html">Gradle Wrapper</a></li>
                        <li><a href="../userguide/gradle_daemon.html">Gradle Daemon</a></li>
                        <li><a href="../userguide/directory_layout.html">Gradle Directories</a></li>
                        <li><a href="../userguide/build_environment.html">Build Configuration</a></li>
                        <li><a href="../userguide/build_lifecycle.html">Build Lifecycle</a></li>
                        <li><a href="../userguide/inspect.html">Build Scan</a></li>
                        <li><a href="../userguide/continuous_builds.html">Continuous Builds</a></li>
                        <li><a href="../userguide/file_system_watching.html">File System Watching</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#dsl-and-apis" aria-expanded="false" aria-controls="dsl-and-apis">DSLs and APIs</a>
                    <ul id="dsl-topics">
                        <li><a href="../javadoc/index.html?overview-summary.html">Java API</a></li>
                        <li><a href="../userguide/groovy_build_script_primer.html">Groovy DSL Primer</a></li>
                        <li><a href="../dsl/index.html">Groovy DSL</a></li>
                        <li><a href="../userguide/kotlin_dsl.html">Kotlin DSL Primer</a></li>
                        <li><a href="../kotlin-dsl/index.html" target="_blank">Kotlin DSL</a></li>
                        <li><a href="../userguide/public_apis.html">Public APIs</a></li>
                        <li><a href="../userguide/default_script_imports.html">Default Script Imports</a></li>
                        <li><a href="../userguide/migrating_from_groovy_to_kotlin_dsl.html">Groovy to Kotlin DSL Migration</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#best-practices" aria-expanded="false" aria-controls="best-practices">Best Practices</a>
                    <ul id="best-practices-topics">
                        <li><a href="../userguide/best_practices.html">Introduction</a></li>
                        <li><a href="../userguide/best_practices_index.html">Index</a></li>
                        <li><a href="../userguide/best_practices_general.html">General Best Practices</a></li>
                        <li><a href="../userguide/best_practices_structuring_builds.html">Best Practices for Structuring Builds</a></li>
                        <li><a href="../userguide/best_practices_dependencies.html">Best Practices for Dependencies</a></li>
                        <li><a href="../userguide/best_practices_tasks.html">Best Practices for Tasks</a></li>
                        <li><a href="../userguide/best_practices_performance.html">Best Practices for Performance</a></li>
                        <li><a href="../userguide/best_practices_security.html">Best Practices for Security</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#core-plugins" aria-expanded="false" aria-controls="core-plugins">Core Plugins</a>
                    <ul id="core-plugins-topics">
                        <li><a href="../userguide/plugin_reference.html">List of Core Plugins</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#managing-dependencies" aria-expanded="false" aria-controls="managing-dependencies">Dependency Management</a>
                    <ul id="managing-dependencies-topics">
                        <li><a href="../userguide/getting_started_dep_man.html">Getting Started</a></li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#learning-the-basics-dependency-management" aria-expanded="false" aria-controls="learning-the-basics-dependency-management">Learning the Basics</a>
                            <ul id="learning-the-basics-dependency-management">
                                <li><a href="../userguide/declaring_dependencies.html">1. Declaring Dependencies</a></li>
                                <li><a href="../userguide/dependency_configurations.html">2. Dependency Configurations</a></li>
                                <li><a href="../userguide/declaring_repositories.html">3. Declaring Repositories</a></li>
                                <li><a href="../userguide/centralizing_dependencies.html">4. Centralizing Dependencies</a></li>
                                <li><a href="../userguide/dependency_constraints_conflicts.html">5. Dependency Constraints and Conflict Resolution</a></li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#understanding_dep_res" aria-expanded="false" aria-controls="understanding_dep_res">Advanced Concepts</a>
                            <ul id="understanding_dep_res">
                                <li><a href="../userguide/dependency_resolution.html">1. Dependency Resolution</a></li>
                                <li><a href="../userguide/graph_resolution.html">2. Graph Resolution</a></li>
                                <li><a href="../userguide/variant_aware_resolution.html">3. Variant Selection</a></li>
                                <li><a href="../userguide/artifact_resolution.html">4. Artifact Resolution</a></li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#declaring-dependencies" aria-expanded="false" aria-controls="declaring-dependencies">Declaring Dependencies</a>
                            <ul id="declaring-dependencies">
                                <li><a href="../userguide/declaring_dependencies_basics.html">Declaring Dependencies</a></li>
                                <li><a href="../userguide/viewing_debugging_dependencies.html">Viewing Dependencies</a></li>
                                <li><a href="../userguide/dependency_versions.html">Declaring Versions and Ranges</a></li>
                                <li><a href="../userguide/dependency_constraints.html">Declaring Dependency Constraints</a></li>
                                <li><a href="../userguide/declaring_configurations.html">Creating Dependency Configurations</a></li>
                                <li><a href="../userguide/gradle_dependencies.html">Gradle Distribution-Specific Dependencies</a></li>
                                <li><a href="../userguide/dependency_verification.html">Verifying Dependencies</a></li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#declaring-repositories" aria-expanded="false" aria-controls="declaring-repositories">Declaring Repositories</a>
                            <ul id="declaring-repositories">
                                <li><a href="../userguide/declaring_repositories_basics.html">Declaring Repositories</a></li>
                                <li><a href="../userguide/centralizing_repositories.html">Centralizing Repository Declarations</a></li>
                                <li><a href="../userguide/supported_repository_types.html">Repository Types</a></li>
                                <li><a href="../userguide/supported_metadata_formats.html">Metadata Formats</a></li>
                                <li><a href="../userguide/supported_repository_protocols.html">Supported Protocols</a></li>
                                <li><a href="../userguide/filtering_repository_content.html">Filtering Repository Content</a></li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#centralizing-dependencies" aria-expanded="false" aria-controls="centralizing-dependencies">Centralizing Dependencies</a>
                            <ul id="centralizing-dependencies">
                                <li><a href="../userguide/platforms.html">Creating Platforms</a></li>
                                <li><a href="../userguide/version_catalogs.html">Creating Version Catalogs</a></li>
                                <li><a href="../userguide/centralizing_catalog_platform.html">Using Catalogs with Platforms</a></li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#dependency-management" aria-expanded="false" aria-controls="dependency-management">Managing Dependencies</a>
                            <ul id="dependency-management">
                                <li><a href="../userguide/dependency_locking.html">Locking Versions</a></li>
                                <li><a href="../userguide/resolution_rules.html">Using Resolution Rules</a></li>
                                <li><a href="../userguide/component_metadata_rules.html">Modifying Dependency Metadata</a></li>
                                <li><a href="../userguide/dependency_caching.html">Caching Dependencies</a></li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#dependency-resolution" aria-expanded="false" aria-controls="dependency-resolution">Controlling Dependency Resolution</a>
                            <ul id="dependency-resolution">
                                <li><a href="../userguide/dependency_resolution_consistency.html">Consistent Dependency Resolution</a></li>
                                <li><a href="../userguide/resolving_specific_artifacts.html">Resolving Specific Artifacts</a></li>
                                <li><a href="../userguide/component_capabilities.html">Capabilities</a></li>
                                <li><a href="../userguide/variant_attributes.html">Variants and Attributes</a></li>
                                <li><a href="../userguide/artifact_views.html">Artifact Views</a></li>
                                <li><a href="../userguide/artifact_transforms.html">Artifact Transforms</a></li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#publishing" aria-expanded="false" aria-controls="publishing">Publishing Libraries</a>
                            <ul id="publishing">
                                <li><a href="../userguide/publishing_setup.html">Setting up Publishing</a></li>
                                <li><a href="../userguide/publishing_gradle_module_metadata.html">Understanding Gradle Module Metadata</a></li>
                                <li><a href="../userguide/publishing_signing.html">Signing Artifacts</a></li>
                                <li><a href="../userguide/publishing_customization.html">Customizing Publishing</a></li>
                                <li><a href="../userguide/publishing_maven.html">Maven Publish Plugin</a></li>
                                <li><a href="../userguide/publishing_ivy.html">Ivy Publish Plugin</a></li>
                            </ul>
                        </li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#types-and-objects" aria-expanded="false" aria-controls="types-and-objects">Gradle Managed Types</a>
                    <ul id="types-and-objects-topics">
                        <li><a href="../userguide/lazy_eager_evaluation.html">Lazy vs Eager Evaluation</a></li>
                        <li><a href="../userguide/properties_providers.html">Properties and Providers</a></li>
                        <li><a href="../userguide/collections.html">Collections</a></li>
                        <li><a href="../userguide/service_injection.html">Services and Service Injection</a></li>
                        <li><a href="../userguide/dataflow_actions.html">Dataflow Actions</a></li>
                        <li><a href="../userguide/working_with_files.html">Working with Files</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#build-structure" aria-expanded="false" aria-controls="build-structure">Structuring Builds</a>
                    <ul id="build-structure-topics">
                        <li><a href="../userguide/organizing_gradle_projects.html">Structuring and Organizing Projects</a></li>
                        <li><a href="../userguide/multi_project_builds.html">Multi-Project Builds</a></li>
                        <li><a href="../userguide/sharing_build_logic_between_subprojects.html">Sharing Build Logic using buildSrc</a></li>
                        <li><a href="../userguide/composite_builds.html">Composite Builds</a></li>
                        <li><a href="../userguide/configuration_on_demand.html">Configuration on Demand</a></li>
                        <li><a href="../userguide/isolated_projects.html">Isolated Projects</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#task-development" aria-expanded="false" aria-controls="task-development">Task Development</a>
                    <ul id="task-development-topics">
                        <li><a href="../userguide/more_about_tasks.html">Understanding Tasks</a></li>
                        <li><a href="../userguide/controlling_task_execution.html">Controlling Task Execution</a></li>
                        <li><a href="../userguide/organizing_tasks.html">Organizing Tasks</a></li>
                        <li><a href="../userguide/implementing_custom_tasks.html">Implementing Custom Tasks</a></li>
                        <li><a href="../userguide/lazy_configuration.html">Lazy Configuration</a></li>
                        <li><a href="../userguide/worker_api.html">Parallel Task Execution</a></li>
                        <li><a href="../userguide/custom_tasks.html">Advanced Task Development</a></li>
                        <li><a href="../userguide/build_services.html">Shared Build Services</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#plugin-development" aria-expanded="false" aria-controls="plugin-development">Plugin Development</a>
                    <ul id="plugin-development-topics">
                        <li><a href="../userguide/plugins.html">Introduction to Plugins</a></li>
                        <li><a href="../userguide/implementing_gradle_plugins_precompiled.html">Precompiled Script Plugins</a></li>
                        <li><a href="../userguide/implementing_gradle_plugins_convention.html">Convention Plugins</a></li>
                        <li><a href="../userguide/implementing_gradle_plugins_binary.html">Binary Plugins</a></li>
                        <li><a href="../userguide/testing_gradle_plugins.html">Testing Plugins</a></li>
                        <li><a href="../userguide/preparing_to_publish.html">Preparing to Publish</a></li>
                        <li><a href="../userguide/publishing_gradle_plugins.html">Publishing Plugins</a></li>
                        <li><a href="../userguide/reporting_problems.html">Reporting Plugin Problems</a></li>
                        <li><a href="../userguide/init_scripts.html">Initialization Scripts & Init Plugins</a></li>
                        <li><a href="../userguide/test_kit.html">Testing with TestKit</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#platformst" aria-expanded="false" aria-controls="platforms">Platforms</a>
                    <ul id="platforms">
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#jvm" aria-expanded="false" aria-controls="jvm">JVM Builds</a>
                            <ul id="jvm">
                                <li><a href="../userguide/building_java_projects.html">Building Java &amp; JVM projects</a></li>
                                <li><a href="../userguide/java_testing.html">Testing Java &amp; JVM projects</a></li>
                                <li><a class="nav-dropdown" data-toggle="collapse" href="#java-toolchains" aria-expanded="false" aria-controls="java-toolchains">Java Toolchains</a>
                                    <ul id="java-toolchains">
                                        <li><a href="../userguide/toolchains.html">Toolchains for JVM projects</a></li>
                                        <li><a href="../userguide/toolchain_plugins.html">Toolchain Resolver Plugins</a></li>
                                    </ul>
                                </li>
                                <li><a href="../userguide/dependency_management_for_java_projects.html">Managing Dependencies</a></li>
                                <li><a class="nav-dropdown" data-toggle="collapse" href="#jvm-plugins" aria-expanded="false" aria-controls="jvm-plugins">JVM Plugins</a>
                                    <ul id="jvm-plugins">
                                        <li><a href="../userguide/java_library_plugin.html">Java Library Plugin</a></li>
                                        <li><a href="../userguide/application_plugin.html">Java Application Plugin</a></li>
                                        <li><a href="../userguide/java_platform_plugin.html">Java Platform Plugin</a></li>
                                        <li><a href="../userguide/groovy_plugin.html">Groovy Plugin</a></li>
                                        <li><a href="../userguide/scala_plugin.html">Scala Plugin</a></li>
                                    </ul>
                                </li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#cpp" aria-expanded="false" aria-controls="cpp">C++ Builds</a>
                            <ul id="cpp">
                                <li><a href="../userguide/building_cpp_projects.html">Building C++ projects</a></li>
                                <li><a href="../userguide/cpp_testing.html">Testing C++ projects</a></li>
                            </ul>
                        </li>
                        <li><a class="nav-dropdown" data-toggle="collapse" href="#swift" aria-expanded="false" aria-controls="swift">Swift Builds</a>
                            <ul id="swift">
                                <li><a href="../userguide/building_swift_projects.html">Building Swift projects</a></li>
                                <li><a href="../userguide/swift_testing.html">Testing Swift projects</a></li>
                            </ul>
                        </li>
                    </ul>
                </li>

                <li><a class="nav-dropdown" data-toggle="collapse" href="#advanced-topics" aria-expanded="false" aria-controls="advanced-topics">Other Topics</a>
                    <ul id="advanced-topics-topics">
                        <li><a href="../userguide/ant.html">Using Ant from Gradle</a></li>
                    </ul>
                </li>
            </ul>

            <h3 id="optimizing-build-performance">Optimizing Gradle Builds</h3>
            <ul>
                <li><a href="../userguide/performance.html">Improving Performance</a></li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#build-cache" aria-expanded="false" aria-controls="build-cache">Build Cache</a>
                    <ul id="build-cache">
                        <li><a href="../userguide/build_cache.html">Enabling and Configuring</a></li>
                        <li><a href="../userguide/build_cache_use_cases.html">Why use the Build Cache?</a></li>
                        <li><a href="../userguide/build_cache_performance.html">Understanding the Impact</a></li>
                        <li><a href="../userguide/build_cache_concepts.html">Learning Basic Concepts</a></li>
                        <li><a href="../userguide/caching_java_projects.html">Caching Java Project</a></li>
                        <li><a href="../userguide/caching_android_projects.html">Caching Android Project</a></li>
                        <li><a href="../userguide/build_cache_debugging.html">Debugging Caching Issues</a></li>
                        <li><a href="../userguide/common_caching_problems.html">Troubleshooting</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#configuration-cache" aria-expanded="false" aria-controls="configuration-cache">Configuration Cache</a>
                    <ul id="configuration-cache">
                        <li><a href="../userguide/configuration_cache.html">How it Works</a></li>
                        <li><a href="../userguide/configuration_cache_enabling.html">Enabling and Configuring</a></li>
                        <li><a href="../userguide/configuration_cache_requirements.html">Requirements for your Build Logic</a></li>
                        <li><a href="../userguide/configuration_cache_debugging.html">Debugging and Troubleshooting</a></li>
                        <li><a href="../userguide/configuration_cache_status.html">Status</a></li>
                    </ul>
                </li>
            </ul>

            <h3 id="securing-builds">Securing Gradle Builds</h3>
            <ul>
                <li><a href="../userguide/security.html">Supply Chain Security</a></li>
                </li>
            </ul>

            <h3 id="third-party-integration">Integration</h3>
            <ul>
                <li><a href="../userguide/third_party_integration.html">Third-party Tools</a></li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#third-party-api" aria-expanded="false" aria-controls="third-party-api">APIs</a>
                    <ul id="third-party-api">
                        <li><a href="../userguide/tooling_api.html">Tooling API</a></li>
                        <li><a href="../userguide/test_reporting_api.html">Test Reporting API</a></li>
                    </ul>
                </li>
            </ul>

            <h3 id="how-to-guides">How-To-Guides</h3>
            <ul>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#how-to-guides" aria-expanded="false" aria-controls="how-to-guides">Structuring Builds</a>
                    <ul id="how-to-guides-structuring">
                        <li><a href="../userguide/how_to_convert_single_build_to_multi_build.html">Convert a Single-Project Build to Multi-Project</a></li>
                    </ul>
                </li>
                <li><a class="nav-dropdown" data-toggle="collapse" href="#how-to" aria-expanded="false" aria-controls="how-to">Dependency Management</a>
                    <ul id="how-to-guides-dep-man">
                        <li><a href="../userguide/how_to_downgrade_transitive_dependencies.html">How to Downgrade Transitive Dependencies</a></li>
                        <li><a href="../userguide/how_to_upgrade_transitive_dependencies.html">How to Upgrade Transitive Dependencies</a></li>
                        <li><a href="../userguide/how_to_exclude_transitive_dependencies.html">How to Exclude Transitive Dependencies</a></li>
                        <li><a href="../userguide/how_to_prevent_accidental_dependency_upgrades.html">How to Prevent Accidental or Eager Dependency Upgrades</a></li>
                        <li><a href="../userguide/how_to_align_dependency_versions.html">How to Align Dependency Versions</a></li>
                        <li><a href="../userguide/how_to_share_outputs_between_projects.html">How to Share Outputs Between Projects</a></li>
                        <li><a href="../userguide/how_to_resolve_specific_artifacts.html">How to Resolve Specific Artifacts from a Module Dependency</a></li>
                        <li><a href="../userguide/how_to_use_local_forks.html">How to Use a Local Fork of a Module Dependency</a></li>
                        <li><a href="../userguide/how_to_fix_version_catalog_problems.html">How to Fix Version Catalog Problems</a></li>
                        <li><a href="../userguide/how_to_create_feature_variants_of_a_library.html">How to Create Feature Variants of a Library</a></li>
                    </ul>
                </li>
            </ul>

            <h3 id="reference">Additional</h3>
            <ul>
                <li><a href="../samples/index.html">Samples</a></li>
                <li><a href="../userguide/glossary.html">Glossary</a></li>
                <li><a href="../userguide/userguide_single.html">Single Page Version</a></li>
            </ul>
        </nav>
        <!-- End Primary Navigation -->

        <div class="content">
            <div class="chapter">
